/*
 * BangoConstants.h
 *
 *  Created on: 24 Dec 2012
 */

#ifndef BANGOCONSTANTS_H_
#define BANGOCONSTANTS_H_
#include <iostream>
#include <QString>
#include <QMutex>
#include <stdlib.h>



using namespace std;

class BangoConstants
{



public:

	static BangoConstants *GetInstance(void);
	static void doCleanup();
	int  SDK_TYPE;
	QString  SDK_VERSION;
	QString  POST_RESPONSE_SUCCESS;
	QString  ERROR_TAG;
	QString  VIDEO_PARAMETERNAME;
	QString  VIDEO_LIVEPARAMETER;
	QString  VIDEO_ONDEMANDPARAMETER;

	long  POSTDELAY_SESSIONEND;

	int  WIFI_CONNECTION;
	int  OPERATOR_CONNECTION;
	int  UNKNOWN_CONNECTION;

	QString  OPTION_OTHER;

	QString  UNKNOWN_VERSION;
	QString  UNKNOWN_INFORMATION;

	QString  LOCATION_CELL;
	QString  LOCATION_ASSISTED;
	QString  LOCATION_GPS;
	long  LOCATION_MANAGER_MIN_TIME;
	float  LOCATION_MANAGER_MIN_DISTANCE;

	QString  POSITIONINGMETHOD_ALLPOSITIONINGMETHODS;
	QString  POSITIONINGMETHOD_NONSATELLITEPOSITION;
	QString  POSITIONINGMETHOD_SATELLITEPOSITION;

	int  ERROR_NONE;
	int  ERROR_USER;
	int  ERROR_INTERNAL_CRITICAL;
	int  ERROR_INTERNAL_WARNING;

	QString  SETTING_POST_URL;
	bool  SETTING_USEOFFLINESTORAGE;
	bool  SETTING_FINDLOCATION;
	bool  SETTING_LOGEVENTS;
	int  SETTING_SESSION_RESUME_PERIOD;
	bool  SETTING_PERSIST_DATABASE_CONNECTION;
	int  SETTING_MAXIMUM_EVENTS_PER_PROFILE;
	QString  SETTING_LOCATION_SOURCE;
	bool  SETTING_LOCATION_FIND;

	QString  DATETIME_FORMAT;

	QString DATABASE_NAME;

	int  DATABASE_VERSION;
	QString  DATABASE_TABLE_PLACEHOLDER;
	QString  DATABASE_TABLE_JOINPLACEHOLDER;

	QString  DATABASE_PARAMETER1_PLACEHOLDER;
	QString  DATABASE_PARAMETER2_PLACEHOLDER;
	QString  DATABASE_PARAMETER3_PLACEHOLDER;
	QString  DATABASE_PARAMETER4_PLACEHOLDER;
	QString  DATABASE_PARAMETER5_PLACEHOLDER;

	QString  DATABASE_TABLENAMEPREFIX;


	QString  DATABASE_SELECTTABLES;
	QString  DATABASE_SELECTPOSTPROFILES;
	QString  DATABASE_SELECTPOSTEVENTS;
	QString  DATABASE_SELECTPOSTEVENTPARAMETERS;

	QString  DATABASE_UPDATEPROFILELOCATION;
	QString  DATABASE_UPDATEPROFILEPOSTED;
	QString  DATABASE_UPDATEEVENTPOSTED;

	QString  DATABASE_DELETEPROFILE;
	QString  DATABASE_DELETEEVENT;
	QString  DATABASE_DELETEEVENTPARAMETER;

	QString  DATABASE_DELETEORPHANEVENTPARAMETER;
	QString  DATABASE_DELETEORPHANEVENT;

	QString  DATABASE_TABLECREATEPROFILE;
	QString  DATABASE_TABLECREATEEVENT;
	QString  DATABASE_TABLECREATEEVENTPARAMETER;

	QString  DATABASE_CREATEPROFILE;
	QString  DATABASE_CREATEEVENT;
	QString  DATABASE_CREATEEVENTPARAMETER;
	QString  DATABASE_TABLENAMEPROFILE;
	QString  DATABASE_TABLENAMEEVENT;
	QString  DATABASE_TABLENAMEEVENTPARAMETER;

	QString  DATABASE_COLUMN_PROFILEID;
	QString  DATABASE_COLUMN_SDKTYPE;
	QString  DATABASE_COLUMN_SDKVERSION;
	QString  DATABASE_COLUMN_APPLICATIONID;
	QString  DATABASE_COLUMN_APPLICATIONTYPE;
	QString  DATABASE_COLUMN_APPLICATIONCHANNEL;
	QString  DATABASE_COLUMN_APPLICATIONVERSION;
	QString  DATABASE_COLUMN_USERID;
	QString  DATABASE_COLUMN_SESSIONRESTARTTIME;
	QString  DATABASE_COLUMN_CONNECTIONTYPE;
	QString  DATABASE_COLUMN_ISROAMING;
	QString  DATABASE_COLUMN_LOCATIONSOURCE;
	QString  DATABASE_COLUMN_LOCATIONALTITUDE;
	QString  DATABASE_COLUMN_LOCATIONLATITUDE;
	QString  DATABASE_COLUMN_LOCATIONLONGITUDE;
	QString  DATABASE_COLUMN_LOCATIONACCURACY;
	QString  DATABASE_COLUMN_OPERATOR;
	QString  DATABASE_COLUMN_OPERATORNAME;
	QString  DATABASE_COLUMN_OPERATORCOUNTRYISO;
	QString  DATABASE_COLUMN_SIMOPERATOR;
	QString  DATABASE_COLUMN_SIMCARD_SERIAL;
	QString  DATABASE_COLUMN_DEVICE;
	QString  DATABASE_COLUMN_MODEL;
	QString  DATABASE_COLUMN_HARDWAREID;
	QString  DATABASE_COLUMN_VERSION;
	QString  DATABASE_COLUMN_PIN;
	QString  DATABASE_COLUMN_OPERATORCONNECTIONTYPE;
	QString  DATABASE_COLUMN_EVENTID;
	QString  DATABASE_COLUMN_EVENTNAME;
	QString  DATABASE_COLUMN_EVENTDETAIL;
	QString  DATABASE_COLUMN_EVENTVALUE;
	QString  DATABASE_COLUMN_ERRORID;
	QString  DATABASE_COLUMN_EVENTTIME;
	QString  DATABASE_COLUMN_EVENTLOCALTIME;
	QString  DATABASE_COLUMN_ERRORLEVEL;


private:
	BangoConstants();
	~BangoConstants();
	BangoConstants(const BangoConstants &);
	BangoConstants& operator=(const BangoConstants &);
	static BangoConstants *_instance;




};


#endif /* BANGOCONSTANTS_H_ */
